package cn.com.cifi.mars.web.action.report;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.com.cifi.mars.bean.vo.price.PriceReportVO;
import cn.com.cifi.mars.bean.vo.price.req.PriceReportReqParam;
import cn.com.cifi.mars.common.bean.R;
import cn.com.cifi.mars.common.constants.VersionConstant;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

@Api(tags = "报表API")
@RequestMapping("/${spring.data.rest.base-path}/{apiVersion}/report")
public interface IPriceReportController {

    @ApiOperation(value = "查询货值报表", notes = "查询货值报表")
    @GetMapping(value = "/priceReport")
    R<List<PriceReportVO>> priceReport(
            @ApiParam(value = "接口版本", required = true, defaultValue = VersionConstant.V1) @PathVariable(value = "apiVersion") String apiVersion,
            PriceReportReqParam param);

    @ApiOperation(value = "导出货值报表", notes = "导出货值报表")
    @GetMapping(value = "/priceReportExport")
    void priceReportExport(
            @ApiParam(value = "接口版本", required = true, defaultValue = VersionConstant.V1) @PathVariable(value = "apiVersion") String apiVersion,
            PriceReportReqParam param, HttpServletResponse httpServletResponse);

}
